<?php
class Pais {
    
    private $idpais;
    private $nome_pais;
    private $ididioma;
    
    //variaveis internas
    private $bd; //conexão com o banco
    private $tabela; //nome da tabela

    public function __construct() {
        $this->bd = new BD();
        $this->tabela = "pais";                      // mudar
    }

    public function __get($key) {
        return $this->$key;
    }

    //método de retorno de valores do objeto 
    public function __set($key, $value) {
        $this->$key = $value;
    }

    //METODOS 
   
    public function inserir() {
        $sql = "INSERT INTO $this->tabela (nome_pais, ididioma ) 
               values ('$this->nome_pais', '$this->ididioma'  )";
        $retorno = pg_query($sql);
        return $retorno;
    }
       
// --------------------------------------------------------------------------    
    public function listar($complemento = "") {
        $sql = "SELECT * FROM $this->tabela ". $complemento;

        $resultado = pg_query($sql);

        $retorno = NULL;
        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Pais();                                    //mudar 
            $obj->idpais      = $reg["idpais"];
            $obj->nome_pais   = $reg["nome_pais"];
            $obj->ididioma    = $reg["ididioma"];
            
            //adiciona a variavel de retorno
            $retorno[] = $obj;   
        }
        
        return $retorno;
    }
 
// --------------------------------------------------------------------------    
    public function excluir() {
        $sql = "delete from $this->tabela where idpais ='$this->idpais'";
        $retorno = pg_query($sql);
        return $retorno;
    }

// --------------------------------------------------------------------------    
    public function atualizar() {
        $retorno = false;                                 // nome dos atributos 
        $sql = "update $this->tabela set 
                     nome_pais   ='$this->nome_pais',
                     ididioma    ='$this->ididioma'    
                     where idpais='$this->idpais'";

        $retorno = pg_query($sql);
        return $retorno;
    }


// --------------------------------------------------------------------------
    public function retornarunico() {
        $sql = "Select * FROM $this->tabela where idpais='$this->idpais'";

        $resultado = pg_query($sql);            
        $retorno = NULL;

        $req = pg_fetch_assoc($resultado);
        if ($req == true) {                              
            $obj = new Pais();
            $obj->idpais = $req["idpais"];        
            $obj->nome_pais = $req["nome_pais"];   
            $obj->ididioma = $req["ididioma"];
            $retorno = $obj;
        } else {
            $retorno = null;
        }

        return $retorno;
    }
    
}


